package model.dao;

import java.sql.SQLException;
import java.util.ArrayList;

import javax.swing.table.DefaultTableModel;

import model.Chamado;

public class RepositorioChamadoArray implements IChamadoDAO{

	ArrayList<Chamado> chamados = new ArrayList<>();
	
	@Override
	public void inserirChamado(Chamado chamado) throws ClassNotFoundException,
			SQLException {
		
		chamados.add(chamado);
		
	}

	@Override
	public void deletarChamado(Chamado chamado) throws ClassNotFoundException,
			SQLException {
		
	
		chamados.remove(chamado);
		
	}

	@Override
	public ArrayList<Chamado> listarChamado() throws ClassNotFoundException,
			SQLException {
		
		return chamados;
	}

	@Override
	public void alterarChamado(Chamado chamado) throws ClassNotFoundException,
			SQLException {

		int aux = 0;
		for(Chamado u : chamados){
			if(chamado.getIdChamado()==u.getIdChamado()){
				aux=chamados.indexOf(u);
			}
		}
		chamados.remove(aux);
		//Luciano em 30/05/2013 - precisa ser presevado o indice, para não mudar a ordem do chamado na tabela
		//chamados.add(chamado);
		chamados.add(aux,chamado);
		
		
	}

	@Override
	public void listChamado(DefaultTableModel modelo)
			throws ClassNotFoundException, SQLException {
		
		
		for(Chamado c : chamados){
			
            modelo.addRow(new Object[]{c.getIdChamado(),c.getDescricao(),c.getStatus()});
			
		}
		
	}

	@Override
	public int proximoIdChamado() throws ClassNotFoundException, SQLException {
		int aux=0;
		
		for(Chamado c : chamados){
			
			if(c.getIdChamado()>aux){
				aux=c.getIdChamado();
			}
		}
		return aux+1;
	}

}
